The present invention relates to a system and method for route calculation in a navigation application program.
Computer-based navigation systems are able to provide end-users, such as vehicle drivers and as well as others, with various navigating functions and features. For example, some navigation systems are able to determine an optimum route to travel by roads between locations in a geographic region. Using input from the end-user, and optionally from equipment that can determine the end-user's physical location (such as a GPS system), a navigation system can examine various routes between two locations to determine an optimum route to travel from a starting location to a destination location in the geographic region. The navigation system may then provide the end-user with information about the optimum route in the form of instructions that identify the maneuvers required to be taken by the end-user to travel from the starting location to the destination location. The navigation system may be located in an automobile and the instructions may take the form of audio instructions that are provided as the end-user is driving the route. Some navigation systems are able to show detailed maps on computer displays that outline routes to destinations, the types of maneuvers to be taken at various locations along the routes, locations of certain types of features, and so on.
In order to provide these and other navigating functions, present navigation systems include navigation application software programs and use one or more detailed databases that include data which represent physical features in geographic regions. The detailed database(s) includes data which represent the road network in a region, including the roads and intersections in the region and information about the roads and intersections, such as turn restrictions at intersections, speed limits along the roads, street names of the various roads, address ranges along the various roads, and so on. Further, the data may include information about points-of-interest. Presently, the collection of such geographic data and the provision of such data in a computer-usable database format are provided by Navigation Technologies of Rosemont, Ill.
Present navigation application programs and navigation systems are able to provide many advantages and many useful features. However, there continues to be a need for improvement. One area in which there is need for improvement relates to providing the end-user with better and more detailed navigation instructions at an initial stage of a route. Another area in which there is need for improvement relates to providing the end-user with better instructions as the desired destination is approached. Still another area in which navigation systems can be improved relates to providing the end-user with better instructions as to how to get back on a route to a desired destination when the end-user either accidentally or deliberately deviates from a previously calculated route. Still another area in which there is a need for improvement relates to handling of intermediate stops along a route. For example, an end-user will often want to make one or more intermediate stops between a starting location and a final destination. Thus, there is a need for a navigation system application that can not only calculate a route between two locations, but also that can calculate quickly and effectively a route that includes stops at one or more intermediate locations along the way between a starting location and a destination. A further area in which there is need for improvement relates to provision of a universal route calculation module or tool that can be readily used in a variety of different software and hardware environments without the need for extensive revisions and customizations to the tool.
Accordingly, it is an objective to provide a navigation application that provides improved route calculation features to an end-user.